home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / ODF Release 3 / ODFDev / Bitmap / Sources / Content.h < prev    next >
Encoding:
Text File  |  1996-12-16  |  4.7 KB  |  164 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                Content.h
  4. //    Release Version:    $ ODF 3 $
  5. //
  6. //    Author:                Mary Boetcher
  7. //
  8. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef BMPCONT_H
  13. #define BMPCONT_H
  14.  
  15. // ----- FrameWork Includes -----
  16.  
  17. #ifndef FWCONTNT_H
  18. #include "FWContnt.h"
  19. #endif
  20.  
  21. #ifndef FWGRREF_H
  22. #include "FWGrRef.h"
  23. #endif
  24.  
  25. #ifndef FWBITMAP_H
  26. #include "FWBitmap.h"
  27. #endif
  28.  
  29. //========================================================================================
  30. //    Forward Declarations
  31. //========================================================================================
  32.  
  33. class CBitmapPart;
  34. class CBitmapSelection;
  35. class FW_CWritableStream;
  36.  
  37. //========================================================================================
  38. //    class CBitmapContent
  39. //========================================================================================
  40.  
  41. class CBitmapContent : public FW_CContent
  42. {
  43. //----------------------------------------------------------------------------------------
  44. //    Initialization/Destruction
  45. //
  46. public:
  47.     FW_DECLARE_AUTO(CBitmapContent)
  48.     
  49.     CBitmapContent(Environment* ev, CBitmapPart* part);
  50.  
  51.     virtual ~CBitmapContent();
  52.  
  53. //----------------------------------------------------------------------------------------
  54. //    Inherited API
  55. //
  56. public:
  57.     virtual void        ExternalizeKind(Environment* ev,
  58.                                     ODStorageUnit* destinationSU,
  59.                                     FW_CKind* kind, 
  60.                                     FW_StorageKinds storageKind,
  61.                                       FW_CPromise* promise,
  62.                                     FW_CCloneInfo* cloneInfo);
  63.     virtual FW_Boolean    InternalizeKind(Environment* ev,
  64.                                     ODStorageUnit* storageUnit, 
  65.                                     FW_CKind* kind, 
  66.                                     FW_StorageKinds storageKind,
  67.                                     FW_CCloneInfo* cloneInfo);
  68.                                              
  69. //----------------------------------------------------------------------------------------
  70. //    new methods
  71. //
  72. public:
  73.     void                InternalizeBitmapShape(Environment* ev, ODStorageUnit* storageUnit, FW_CKind* kind);
  74.  
  75. #ifdef FW_BUILD_MAC
  76.     void                ExternalizePICTData(Environment* ev, FW_CWritableStream& stream, const FW_CBitmap& bitmap);
  77.     void                InternalizePICTData(Environment* ev, ODStorageUnit* storageUnit, FW_CKind* kind);
  78.     
  79.     void                InternalizePICTFile(Environment* ev, ODStorageUnit* storageUnit);
  80.     
  81.     void                MacSetBitmap(Environment* ev, FW_PlatformPict picHandle);
  82. #endif
  83.     
  84.     void                DoExternalize(Environment* ev,
  85.                                     ODStorageUnit* storageUnit,
  86.                                     FW_CKind* kind,
  87.                                     FW_CBitmap bitmap);
  88.  
  89. //----------------------------------------------------------------------------------------
  90. //    Getters & Setters
  91. //
  92. public:
  93.     FW_CBitmap             GetBitmap(Environment* ev) const;
  94.     void                 SetBitmap(Environment* ev, FW_CBitmap bitmap);
  95.  
  96.     void                UseDefaultBitmap(Environment* ev);
  97.  
  98. //----------------------------------------------------------------------------------------
  99. //    Data Members
  100. //
  101. protected:
  102.     FW_CBitmap            fBitmap;        // counted pointer to the bitmap
  103.     CBitmapPart*        fBitmapPart;
  104. };
  105.  
  106. //========================================================================================
  107. //    class CBitmapSelectionContent
  108. //========================================================================================
  109.  
  110. class CBitmapSelectionContent : public FW_CContent
  111. {
  112. //----------------------------------------------------------------------------------------
  113. //    Initialization/Destruction
  114. //
  115. public:
  116.     CBitmapSelectionContent(Environment* ev, 
  117.                             CBitmapPart* part, 
  118.                             CBitmapSelection* selection, 
  119.                             CBitmapContent* bitmapContent);
  120.  
  121.     virtual ~CBitmapSelectionContent();
  122.  
  123. //----------------------------------------------------------------------------------------
  124. //    Inherited API
  125. //
  126. public:
  127.     virtual void        ExternalizeKind(Environment* ev,
  128.                                     ODStorageUnit* storageUnit,
  129.                                     FW_CKind* kind, 
  130.                                     FW_StorageKinds storageKind,
  131.                                       FW_CPromise* promise,
  132.                                     FW_CCloneInfo* cloneInfo);
  133.     virtual FW_Boolean    InternalizeKind(Environment* ev,
  134.                                     ODStorageUnit* storageUnit, 
  135.                                     FW_CKind* kind, 
  136.                                     FW_StorageKinds storageKind,
  137.                                     FW_CCloneInfo* cloneInfo);
  138.  
  139.     virtual ODShape*    AcquireSuggestedFrameShape(Environment* ev);
  140.  
  141. //----------------------------------------------------------------------------------------
  142. //    New API
  143. //
  144. public:
  145.     void                GetSelectRect(FW_CPlatformRect& rect) const
  146.                             {rect = fSelectRect;}
  147.     void                SetSelectRect(const FW_CPlatformRect& rect)
  148.                             {fSelectRect = rect;}
  149.                             
  150.  
  151.     void                SelectEntireBitmap(Environment* ev);
  152.  
  153. //----------------------------------------------------------------------------------------
  154. //    Data Members
  155. //
  156. private:
  157.     CBitmapPart*        fBitmapPart;
  158.     CBitmapContent*        fBitmapContent;
  159.     CBitmapSelection*    fBitmapSelection;
  160.     FW_CPlatformRect    fSelectRect;
  161. };
  162.  
  163.  
  164. #endif